home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 147 / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan).7z / Gekkan Dennou Club - 2000.8 Vol. 147 (Japan) (Track 1).bin / games / sakiba / source / sakiba.h < prev    next >
Text File  |  2000-06-20  |  3KB  |  130 lines

  1.  
  2. typedef    int    Bool;
  3.  
  4. #define    TRUE    1
  5. #define    FALSE    0
  6.  
  7.  
  8. typedef    unsigned short    CODE;        /* スプライトコード */
  9. typedef    unsigned short    COLOR;        /* 色 */
  10. typedef signed long    REAL;        /* 実数 */
  11.  
  12.  
  13. #define    HP_MAX    100            /* 体力初期値 */
  14.  
  15. enum {                    /* 行動の種類 */
  16.     ACT_GUARD = 0,                /* 防御 */
  17.     ACT_ATTACK1,                /* 弱攻撃 */
  18.     ACT_ATTACK2,                /* 強攻撃 */
  19.     ACT_SUKI,                /* 攻撃後の隙 */
  20.     ACT_DAMAGE,                /* 攻撃を受けた */
  21.     ACT_MAX,
  22. };
  23.  
  24. enum {PLAYER1 = 0, PLAYER2};        /* プレイヤー */
  25.  
  26. enum {                    /* 操作 */
  27.     OPR_PLAYER = 0,                /* 人 */
  28.     OPR_COM                    /* コンピュータ */
  29. };
  30.  
  31. enum {                    /* モード */
  32.     MODE_BATTLE = 0,            /* 戦闘 */
  33.     MODE_INPUT,                /* 入力 */
  34.     MODE_READY                /* 登場 */
  35. };
  36.  
  37. enum {                    /* アニメーションシーケンス */
  38.     SEQ_NORMAL,                /* 通常 */
  39.     SEQ_GUARD,                /* 防御 */
  40.     SEQ_DAMAGE,                /* くらい */
  41.     SEQ_READY,                /* 登場 */
  42.     SEQ_WIN,                /* 勝ち */
  43.     SEQ_LOSE,                /* 負け */
  44.     SEQ_MAX
  45. };
  46.  
  47. #define    GUARD_CNT    5        /* 防御持続時間 */
  48. #define    DAMAGE_CNT    6        /* 攻撃くらい持続時間 */
  49.  
  50.  
  51. /*** 行動 *******/
  52. typedef struct {
  53.     int    kind;            /* 行動の種類 */
  54.     int    count;            /* 持続時間 */
  55. } ACTION;
  56.  
  57. /*** キャラクタスプライトパターン *******/
  58. typedef struct {
  59.     int    w, h;            /* 大きさ */
  60.     CODE*    code_l;            /* プレイヤー1パターン */
  61.     CODE*    code_r;            /* プレイヤー2パターン */
  62. } CHR_PAT;
  63.  
  64. /*** アニメーションシーケンス *******/
  65. typedef struct {
  66.     short*    pat;            /* パターンシーケンス */
  67.     int*    x;            /* x座標シーケンス */
  68.     int*    y;            /* y座標シーケンス */
  69. } SEQUENCE;
  70.  
  71. /*** 攻撃技 *******/
  72. typedef struct {
  73.     int    before;            /* 前動作の時間 */
  74.     int    after;            /* 後動作の時間 */
  75.     int    power;            /* 威力 */
  76.  
  77.     char*        name;            /* 技名 */
  78.     SEQUENCE    seq1[2];        /* アニメーション */
  79.     SEQUENCE    seq2[2];
  80. } ATK_TECH;
  81.  
  82. /*** スプライトパターン用パラメータ *******/
  83. typedef struct {
  84.     CHR_PAT*    pat;            /* 描画パターン */
  85.     short        pat_cnt;        /* パターンカウンタ */
  86.     REAL        x, dx, ddx;        /* 表示x座標 */
  87.     int        x_cnt;            /* x移動カウンタ */
  88.     REAL        y, dy, ddy;        /* 表示y座標 */
  89.     int        y_cnt;            /* y移動カウンタ */
  90.     SEQUENCE    seq;            /* アニメーションシーケンス */
  91.     SEQUENCE    now;
  92.     CHR_PAT*    pat_data;        /* キャラクタパターン */
  93. } SPR_PARAM;
  94.  
  95.  
  96. /*** キャラクタデータ *******/
  97. typedef struct {
  98.     ATK_TECH    attack1;        /* 弱攻撃 */
  99.     ATK_TECH    attack2;        /* 強攻撃 */
  100.  
  101.     char*        name;            /* キャラクタ名 */
  102.     char*        sp_name;        /* スプライトファイル名 */
  103.     char*        pal_name[2];        /* パレットファイル名 */
  104.     CHR_PAT*    pat_data;        /* キャラクタパターン */
  105.     SEQUENCE    seq[SEQ_MAX][2];    /* アニメーションシーケンス */
  106. } CHR_DATA;
  107.  
  108. /*** キャラクタパラメータ *******/
  109. typedef struct {
  110.     int        num;            /* 先攻、後攻 */
  111.     int        hit_point;        /* 体力 */
  112.     int        d_hp;            /* 表示体力 */
  113.     ACTION        action[6];        /* 行動 */
  114.     int        operation;        /* 操作 */
  115.  
  116.     SPR_PARAM    spr[2];            /* スプライトパターン */
  117.  
  118.     CHR_DATA*    data;            /* キャラクタデータ */
  119. } CHR_PARAM;
  120.  
  121.  
  122. extern CHR_PARAM    chr_param[2];    /* キャラクタパラメータ */
  123.  
  124. extern int    turn;            /* ターン */
  125. extern int    mode;            /* モード */
  126.  
  127.  
  128. #define    rnd(n)    (rand() % (n))        /* 乱数 */
  129.  
  130. /****************** End of File *****************************************/